using System.Text.RegularExpressions;
using NHibernate.Validator.Constraints;
using SharpArch.Core.DomainModel;
using SharpArch.Core.NHibernateValidator;

namespace ETestIT.Core
{
    [HasUniqueDomainSignature]
    public class Client : Entity
    {
        [DomainSignature]
        [NotNullNotEmpty]
        [Length(3, 32)]
        [Pattern(@"\w", RegexOptions.Compiled, "spaces are not allowed as value")]
        public virtual string Name { get; set; }

        public virtual string ContactInformation { get; set; }

        public virtual ClientType TypeOfClient { get; set; }
    }

    public enum ClientType
    {
        Direct,
        Partners,
        ThirdParty,
    } ;
}